package com.zmn.mcc.persistence.interfaces.module;

import com.zmn.common.dto.StatusDTO;
import com.zmn.mcc.model.entity.module.McModule;
import com.zmn.mcc.model.entity.module.McModuleQuery;

import java.util.List;

/**
 * @author heguanghua
 * @since 2020/04/14 10:48
 */
public interface ModuleDao {

    McModule findByKey(Integer moduleId);

    List<McModule> listPageByQuery(McModuleQuery query);

    List<McModule> listByQuery(McModuleQuery query);

    Integer countByQuery(McModuleQuery query);


    Integer updateByKey(McModule module);

    Integer updateStatus(McModule module);
    Integer updateStatusBatch(StatusDTO dto);

    Integer updateSort(McModule module);


    Integer insert(McModule module);


    Integer deleteByKey(Integer moduleId);

    Integer deleteByQuery(McModuleQuery query);
}
